/**
 * 
 */
package edu.hm.compiler.scanner.dfa;

import edu.hm.compiler.scanner.dfa.state.IState;
import edu.hm.compiler.scanner.dfa.symbol.ISymbol;

/**
 * @author Saruman
 */
public interface IDFA
{

    /**
     * @param state
     * @param symbol
     * @return
     */
    IState getNextState( ISymbol symbol );

    IState getCurrentState();

    /**
     * Reset the DFA to start with it's initial State
     */
    void reset();
}
